home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HamCall (October 1991)
/
HamCall (Whitehall Publishing)(1991).bin
/
amateur
/
w0rli
/
mb1202.exe
/
lha
/
MB.DOC
< prev
next >
Wrap
Text File
|
1991-04-06
|
11KB
|
312 lines
W0RLI MailBox Page 1
Created for packet community by:
Hank Oredson, W0RLI
21390 Shannon Lane
West Linn, OR 97068
The code will run under DoubleDOS or DESQView.
The code will run under Microsoft Windows, but there will
probably be difficulties with the serial ports. These difficulties
will appear as lost characters from the tncs. If it works for you,
please let me know - what machine, how many ports, which ports,
how did you set it up, etc. etc. I do not have Microsoft Windows,
so cannot check this myself.
Running multiple copies of the MailBox.
To run multiple copies, simply execute MB again in another window
or partition. All files and ports may be shared by up to 8 copies
of MB. Each copy will create it's own log file.
Bringing things up for the first time.
1) Prepare an AUTOEXEC.BAT file:
The supplied serial device driver (MBBIOS from AA4RE) replaces
the standard INT 14 drivers included in the IBM ROM BIOS.
MBBIOS supports many different serial boards. See MBBIOS.DOC for details.
MBBIOS was created by Roy, AA4RE.
Example driver setup as it might appear in your AUTOEXEC.BAT
LM
SHARE
MBBIOS
MBMODE COM1:12,n,8,1
MBMODE COM3:96,n,8,1
MBMODE COM4:96,n,8,1
MBMODE COM5:96,n,8,1
MBMODE COM6:96,n,8,1
MBMODE COM7:96,e,7,1
MBINIT
Note that LM and SHARE have also been loaded. LM is the MailBox
Lock Manager, SHARE is the MS-DOS file sharing utility.
2) Edit INIT.MB, MOTD.MB, INFO.MB, CONFIG.MB, NEWUSER.MB, FWD.MB
for your site and configuration.
Put in your call, name, qth, and zip (or postal) code in the appropriate
places. Set up various subdirectories for user files and for MailBox working
files. Setup the port definitions to correspond to the hardware on your
computer.
3) Plug in the tncs.
Make sure they are set for hardware handshake. See the *.SET files for
examples of correct tnc parameter settings.
4) Put it on the air!
W0RLI MailBox Page 2
Files on the distribution disk:
- The MailBox programs:
MB.EXE - The MailBox program.
MBINIT.EXE - The MailBox initialization.
MBMODE.EXE - Replacement for MODE command, supports COM1 - COM16.
MBSTAT.EXE - MailBox status display.
NW.EXE - The NetWalker.
PRTLOG.EXE - Log file analyzer.
RECOVER.EXE - Message and User file recovery program.
SERVER.EXE - MailBox server driver.
LM.COM - MailBox Lock Manager and Task Control.
- Documentation and other text files:
README - Basic information on getting started.
*.DOC - Release notes, tech notes, installation notes, etc.
PK232.SET - Setup parameter list for PK-232 and PK-87.
KAM.SET - Setup parameter list for KAM.
KPC4.SET - Setup parameter list for KPC-4.
TNC1.SET - Setup paramater list for TNC1.
TNC2.SET - Setup parameter list for TNC2.
MailBox support files. These MUST be in directory \BBS:
CONFIG.MB - Configuration data, error messages, etc.
HELP.MB - Text of the "H" command.
INIT.MB - Information about the system owner.
INFO.MB - Text of the "I" command.
MOTD.MB - Text of the login message.
NEWUSER.MB - Text sent to user at their first login.
SERVER.MB - Server definition information.
FWD.MB - Routing tables for forwarding messages.
The following files are created and maintainted by the MailBox.
They will appear in directory \BBS:
BID.MB - Log of Message Identifiers.
CALLS.MB - All calls heard by the MailBox.
MON.MB - The saved "J" lists.
WP.MB - The user database.
MAIL.MB - The message database.
YYMMLOG.n - The log files. A text file that contains the user log.
A seperate log is kept by each copy of the program.
YYMM is the curent year and month.
The cable between the computer and the TNC should have pins 2,3,4,5,7 and 20
connected. Hardware flow control (CTS/RTS) is used in both directions.
W0RLI MailBox Page 3
Known restrictions.
There can be at most 100 pending different message destinations. These
are the calls that show in the beacon text plus any calls in AT fields
of messages that have not been forwarded. The only time this might cause
a problem is if you keep many bulletins on the system, and they are
not marked as read ("Y") or forwarded ("F").
Message manipulation.
One problem that confronts the sysop from time to time is the message
that has the wrong type, wrong distribution list, etc. There are two ways
to correct this problem.
1) Use the "E" command and edit the message header. Because of the many
possibilities, this command is limited in scope. For simple changes,
such as "unkilling" a message, it will work. It will not create a
distribution list.
2) Copy the message to a file and then make a new message.
This is simpler than it sounds. It requires two commands.
Here is an example. Assume someone sent a message to KB6BHN, and
instead of using SP KB6BHN @ W0RLI used instead SB KB6BHN @ ALLUSA.
Assume it was message number 325.
First put the message into a file using the F command:
F 325 J
This puts the message into file J.
Then make the new message:
MP J KB6BHN @ W0RLI
You can either enter the orignal title, or, since you had to do
all this work to correct a users error, just give the new message
a blank title!
Now kill the orignal message.
K 325
W0RLI MailBox Page 4
PRTLOG.EXE - The log file analyzer.
PRTLOG OUT.PRT -opt
The output is placed in file OUT.PRT.
Options: -L lists the entire log.
With no options you get the usual monthly summary.
PRTLOG prompts for the names of log files to process.
Log file format
Each line in the log file contains an event code, the date and time,
followed by further information about the event.
'C' - User connected to system.
'A' -> 'H' - A user connected on that port.
'I' - Program startup.
'L' - User was linked via the station that just connected.
'S' - "connect" from local console (sysop).
'X' - Exit.
'A' - Owner put MailBox on line.
'B' - User said good bye.
'D' - User disconnected.
'E' - Excluded user attempted connect.
'F' - User forced off by sysop.
'Q' - Exit from program.
'T' - Timeout, forced disconnect.
'F' - File event. Command line shown as user entered it.
'D' - File downloaded.
'K' - File deleted.
'U' - File uploaded.
'M' - Message event. Message number always shown.
'D' - Message copied to file.
'E' - Message exported.
'F' - Message forwarded.
'FE' - End of forwarding session.
'FR' - Start of reverse forwarding within forwarding session.
'FS' - Start of forwarding session.
'FZ' - Message forwarded. Message size shown.
'K' - Message killed. Note KS is auto-kill of old bulletin.
'P' - Message printed.
'R' - Message read.
'SE' - End of server session.
'SS' - Start of server session.
'Z' - Message entered. Message size shown.
'R' - RoundTable event. Generated by RT.EXE into RT.LOG.
'E' - End of RoundTable execution.
'J' - Station joined the RoundTable.
'L' - Station left the RoundTable.
'S' - Start of RoundTable execution.
The following provided by AD8I :
Contrary to MOST explanations, dropped characters are not due to
DESQview or other multi-taskers. The problem happens for two
reasons. First, overrun of the serial ports (eg. the TNC is
sending data to the computer faster than the computer can handle
it). Second, due to shutting off the interrupts.
All serial ports drivers commonly used by W0RLI and WA7MBL PBBS
programs are interrupt driven. When the UART (normally an 8250
[XT] or 16450 [AT]) receives a character on the serial port, the
following happens:
1) the serial port issues a HARDWARE interrupt by raising one
of the IRQ lines on the bus.
2) the 8259 programmable interrupt controller sees the change
in the IRQ and tells the CPU to stop whatever it is doing
and branch to the code for handling the interrupt (MBBIOS).
3) our interrupt handler (eg. MBBIOS) takes the character from
the UART and moves it to a buffer area in memory reserved
(by MBBIOS) for storing input until it can be processed.
4) when the character has been moved to memory, the interrupt
handler returns control to whatever was happening before
the interrupt
When there are high speed ports on a ("slow") CPU, eg. mulitple 9600
baud TNC links to a 4.77 MHz V20 CPU, it is possible, even likely,
that another characer will be received before the first has been
handled. When this happens, characters are dropped.
Some disk caches (eg. VDISK) use EXTENDED memory in an AT (80286).
Due to the design of the 80286, these caches must disable interrupts
when moving data to or from the cache.
Most single character errors are of the first type while most multi-
character errors are of the second type. NO amount of "tweaking"
the DESQview time slices will solve either problem since the serial
port drivers load before DESQview. The port interrupts whatever
DESQview is doing to allow the serial drivers to do their thing.
In a VERY busy system DESQview (and the various MB tasks) will actually
come to a halt if there is too much I/O activity (both serial and
disk I/O).
There two approaches to solve the port overrun problem:
1) Use UARTS with INTERNAL buffers. For example, the 16550 is a
direct replacement for the 8250 and 16450 with an internal 16
byte (character) buffer that can be used by software designed
for the purpose. The 8530 HDLC chip used in the DRSI PC*PA
includes a 4 byte buffer.
MBBIOS, FBIOS and G8BPQ's ASYNC support (NET/ROM and KISS
protocols) protocols could be easily modified to detect,
enable, and use the buffer in the 16550 if the software
writers chose to do so.
2) Use TNCs operated in HOST mode. In host mode, the computer
polls each TNC for data at its own pace. The computer can
make use of the buffers IN THE TNC to hold data until the
computer is ready to handle it. When the computer is ready,
it can empty the buffer on one TNC at a time. (The AA4RE
BB software uses this technique.)
The only way to solve problems caused by shutting off the interrupts
is to eliminate the EXTENDED memory disk cache.